package com.xxl.job.admin.service.impl;

import com.xxl.job.admin.core.model.XxlJobUser;
import com.xxl.job.admin.dao.XxlJobUserDao;
import com.xxl.job.admin.dto.UserVerificationRequest;
import com.xxl.job.admin.service.UserService;
import com.xxl.job.admin.utils.MD5Util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private XxlJobUserDao xxlJobUserDao;


    @Override
    public String verifyUser(String currentUser, UserVerificationRequest request) {
        String username = request.getUsername();
        String password = request.getPassword();
        // 检查复核用户是否是当前登录用户
        if (username.equals(currentUser)) {
            return "您不能使用自己的账户进行复核操作";  // 错误消息：不能复核自己
        }
        // 通过用户名查找用户
        XxlJobUser user = xxlJobUserDao.findByUsername(username);



        // 如果用户不存在
        if (user == null) {
            return "复核用户不存在";
        }


        // MD5验证密码
        String encryptedPassword = MD5Util.encode(password);
        if (!encryptedPassword.equals(user.getPassword())){
            return "复核用户密码错误";
        }

        // 检查用户是否有管理员权限
        if (user.getRole() != 1) {
            return "复核用户无管理员权限";  // 错误消息：无管理员权限
        }
        return null;

    }
}
